function [ nSeq, err ] = detector( res, Ms, Shs, Users, threshold, numUsers, lenM )

response = 0;
err      = 0;
nSeq     = numUsers * ( size(Users, 2)/lenM );

for i = 1 : length(res)-(lenM-1)
    for u = 1 : numUsers
        tmp = sum( res(i:i+lenM-1) .* Ms(u,:) );
        
        if abs(tmp) >= threshold
            % true если пользователь действительно передавал свою
            % последовательность на данном сдвиге
            if mod(i-1, lenM) == mod(Shs(u), lenM)
                fprintf('#%d#\n', u)
                response = response + 1;
            else
                disp('# ОШИБКА #')
                err = err + 1;
            end
            
            fprintf( '%d ', res(i:i+lenM-1) )
            
            if tmp > 0
                fprintf('\nuser%d: sends 1. (sh %d, correlation %d) \n\n', u, i-1, tmp)
            else
                fprintf('\nuser%d: sends 0. (sh %d, correlation %d) \n\n', u, i-1, tmp)
            end
            
        end
    end
end

fprintf('\nresponse: \t%d', response)

err = err + (nSeq - response);
fprintf('\nerr: \t\t%d\n', err)


fprintf('===================================================\n\n')

end
